package model

import "time"

type File struct {
	Id           uint      `gorm:"primaryKey;AUTO_INCREMENT;" json:"id"`
	RealName     string    `gorm:"type:varchar(255);not null;comment:原始文件名" json:"realName"`                                 //原始文件名
	Name         string    `gorm:"type:varchar(100);not null;comment:附件名称" json:"name"`                                      //存入时候的附件名称
	LocationType int       `gorm:"not null;comment:上传类型 1本地 2七牛云 3OSS 4COS" json:"locationType"`                             //图片上传类型 1本地 2七牛云 3OSS 4COS
	UserId       uint      `gorm:"type:bigint;comment:userId" json:"userId"`                                                 // 用户id
	AttDir       string    `gorm:"type:varchar(200);not null;comment:附件路径" json:"attDir"`                                    //附件路径
	AttSize      string    `gorm:"type:char(30);not null;comment:附件大小" json:"attSize"`                                       //附件大小
	AttType      string    `gorm:"type:char(30);not null;comment:附件类型" json:"attType"`                                       //附件类型
	ContentType  string    `gorm:"type:char(30);not null;comment:http内容类型" json:"contentType"`                               //http内容类型
	Hash         string    `gorm:"type:VARCHAR(60);comment:哈希值" json:"hash"`                                                 // 哈希值
	Bucket       string    `gorm:"type:VARCHAR(60)" json:"bucket"`                                                           // 空间
	Key          string    `gorm:"type:VARCHAR(60)" json:"key"`                                                              // 对象存储key
	Status       int       `gorm:"type:tinyint;default:1;comment:状态 3 正常, 2 过期, 1 用户上传附件24小时内都没使用该附件，该附件变为过期" json:"status"` // 状态 3 正常, 2 过期, 1 用户上传附件24小时内都没使用该附件，该附件变为过期
	CreatedAt    time.Time `gorm:"comment:创建时间" json:"createdAt"`                                                            //创建时间
	UpdatedAt    time.Time `gorm:"comment:更新时间" json:"updatedAt"`                                                            //更新时间
	ExpireAt     time.Time `json:"-"`                                                                                        //过期时间
}
